package negocio;

import java.util.ArrayList;
import java.util.Hashtable;

import javax.naming.InitialContext;
import javax.naming.NamingException;

import ejbs.Facade;
import entities.*;

public class BusinessDelegate {

	private Facade facade;
	
	public BusinessDelegate() throws NamingException {
		lookup();
	}

	private void lookup() throws NamingException {
		String naming = "TPEAR/FacadeBean/remote";
		Hashtable props = new Hashtable();
		props.put(InitialContext.INITIAL_CONTEXT_FACTORY,
				"org.jnp.interfaces.NamingContextFactory");
		props.put(InitialContext.PROVIDER_URL, "jnp://127.0.0.1:1099");
		InitialContext ic = new InitialContext(props);
		facade = (Facade) ic.lookup(naming);
	}
	
	public Producto obtenerArticulo(String codigo)
	{
		return facade.obtenerArticulo(codigo);
	}

	public ArrayList<Producto> obtenerArticulos()
	{
		return facade.obtenerArticulos();
	}
	
	public ArrayList<Producto> obtenerArticulos(int numeroDePagina)
	{
		return facade.obtenerArticulos(numeroDePagina);
	}
	
	public Cotizacion cotizar(SolicitudCotizacion solicitudCotizacion)
	{
		return facade.cotizar(solicitudCotizacion);
	}
	
	public Cotizacion obtenerUltimaCotizacion(String codigo)
	{
		return facade.obtenerUltimaCotizacion(codigo);
	}

	public void solicitarCompra(SolicitudCompra solicitudCompra)
	{
		facade.solicitarCompra(solicitudCompra);
	}
	
	public int obtenerTotalDePaginas()
	{
		return facade.obtenerTotalDePaginas();
	}
}
